MixOption

成员属性

名称 类型 值 只读 描述
playCount number 否
混音播放次数
type AudioMixingType 否
混音播放类型,详见 AudioMixingType。

AudioMixingType

成员属性

名称 类型 值 只读 描述
PLAYOUT AudioMixingType.PLAYOUT 0 是
仅本地播放
PUBLISH AudioMixingType.PUBLISH 1 是
仅发送到远端
PLAYOUT_AND_PUBLISH AudioMixingType.PLAYOUT_AND_PUBLISH 2 是
在本地播放并发送到远端

PlayerEvent


播放器事件

成员属性

名称 类型 值 只读 描述
type "video" \| "audio" 否
类型
eventName string 否
事件名称
rawEvent Event 否
播放事件。详见官方文档
userId string 否
进房用户的 userId
readyState number 否
媒体就绪状态,详见官方文档
currentTime number 否
当前时间
isScreen boolean 否
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

onUserJoinedEvent


远端用户进房事件

成员属性

名称 类型 值 只读 描述
userInfo UserInfo 否
进房用户的 userId

UserInfo


用户信息

成员属性

名称 类型 值 只读 描述
userId string 否
用户 ID,长度在 128 字节以内的非空字符串。
extraInfo string 否
用户传递的额外信息,最大长度为 200 字节。会在 [EngineEventsTypes.onUserJoined] 中回调给远端用户。

onUserLeaveEvent


远端用户退房事件

成员属性

名称 类型 值 只读 描述
userInfo UserInfo 否
用户信息,详见 UserInfo
reason 0 \| 1 否
用户离开房间的原因:
0: 远端用户调用leaveRoom主动退出房间
1: 远端用户因网络等问题掉线,或切换至不可见状态

ConnectionStateChangeEvent


连接状态改变

成员属性

名称 类型 值 只读 描述
state ConnectionState 否
内部连接状态

ConnectionState

成员属性

名称 类型 值 只读 描述
CONNECTION_START ConnectionState.CONNECTION_START 0 是
进行连接前准备,锁定相关资源。
CONNECTION_STATE_DISCONNECTED ConnectionState.CONNECTION_STATE_DISCONNECTED 1 是
连接断开。
CONNECTION_STATE_CONNECTING ConnectionState.CONNECTION_STATE_CONNECTING 2 是
首次连接,正在连接中。
CONNECTION_STATE_CONNECTED ConnectionState.CONNECTION_STATE_CONNECTED 3 是
首次连接成功。
CONNECTION_STATE_RECONNECTING ConnectionState.CONNECTION_STATE_RECONNECTING 4 是
连接断开后重新连接中。
CONNECTION_STATE_RECONNECTED ConnectionState.CONNECTION_STATE_RECONNECTED 5 是
连接断开后重连成功。

RTCStream


流属性。

成员属性

名称 类型 值 只读 描述
userId string 否
用户 ID
isScreen boolean 否
是否是屏幕流
hasVideo boolean 否
是否包含视频流
hasAudio boolean 否
是否包含音频流
videoStreamDescriptions VideoStreamDescription[] 否
视频流的属性

当远端用户调用 setVideoEncoderConfig 方法发布多个配置的视频流时,此处会包含该用户发布的所有视频流的属性信息。

参看 VideoStreamDescription#VideoStreamDescription。

VideoStreamDescription


视频流的属性

成员属性

名称 类型 值 只读 描述
width number 否
宽
height number 否
高
frameRate number 否
视频帧率
maxKbps number 否
最大码率

UserMuteEvent


用户闭麦事件

成员属性

名称 类型 值 只读 描述
userInfo UserInfo 否
用户信息,详见 UserInfo
muteState MuteState 否
用户闭麦事件

MuteState


音视频流的发送/播放状态

成员属性

名称 类型 值 只读 描述
MUTE_STATE_OFF MuteState.MUTE_STATE_OFF 0 是
发送
MUTE_STATE_ON MuteState.MUTE_STATE_ON 1 是
停止发送

StreamRemoveReason


房间内远端流移除原因。

成员属性

名称 类型 值 只读 描述
STREAM_REMOVE_REASON_UNPUBLISH StreamRemoveReason.STREAM_REMOVE_REASON_UNPUBLISH 0 是
远端用户停止发布流。
STREAM_REMOVE_REASON_PUBLISH_FAILED StreamRemoveReason.STREAM_REMOVE_REASON_PUBLISH_FAILED 1 是
远端用户发布流失败。
STREAM_REMOVE_REASON_KEEP_LIVE_FAILED StreamRemoveReason.STREAM_REMOVE_REASON_KEEP_LIVE_FAILED 2 是
保活失败。
STREAM_REMOVE_REASON_CLIENT_DISCONNECTED StreamRemoveReason.STREAM_REMOVE_REASON_CLIENT_DISCONNECTED 3 是
远端用户断网。
STREAM_REMOVE_REASON_REPUBLISH StreamRemoveReason.STREAM_REMOVE_REASON_REPUBLISH 4 是
远端用户重新发布流。
STREAM_REMOVE_REASON_OTHER StreamRemoveReason.STREAM_REMOVE_REASON_OTHER 5 是
其他原因。

onVideoFirstFrameRenderedEvent


第一帧远端视频显示在视图上

成员属性

名称 类型 值 只读 描述
userId string 否
发布视频用户的 userId
height number 否
高度
width number 否
宽度

onVideoFirstFrameDecodedEvent


第一帧远端视频解码事件

成员属性

名称 类型 值 只读 描述
userId string 否
发布视频用户的 userId
height number 否
高度
width number 否
宽度

onAudioFirstFrameDecodedEvent


第一帧远端音频解码事件

成员属性

名称 类型 值 只读 描述
userId string 否
发布视频用户的 userId

RTCDevice


媒体设备信息

成员属性

名称 类型 值 只读 描述
deviceId string 否
设备 ID
详见浏览器文档。
deviceType MediaDeviceKind 否
设备类型
详见浏览器文档。
deviceInfo MediaDeviceInfo 否
设备信息
详见浏览器文档。
deviceName string 否
设备名称
详见浏览器文档。
deviceState "active" \| "inactive" 否
设备状态

UserMessageEvent


点对点文本消息

成员属性

名称 类型 值 只读 描述
userId string 否
发送消息的用户
message string \| Object 否
点对点文本消息

UserBinaryMessageEvent


点对点二进制消息

成员属性

名称 类型 值 只读 描述
userId string 否
发送消息的用户
message ArrayBuffer 否
点对点二进制消息

RemoteStreamStats


远端媒体频流统计信息,统计周期为 2s 。
本地用户订阅媒体流成功后,SDK 会周期性地通知远端的媒体流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。

成员属性

名称 类型 值 只读 描述
userId string 否
进房用户的 userId
audioStats RemoteAudioStats 否
远端音频流信息
videoStats RemoteVideoStats 否
远端视频流信息
isScreen boolean 否
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

RemoteAudioStats


远端音频流统计信息,统计周期为 2s 。
本地用户订阅音频流成功后,SDK 会周期性地通知远端的音频流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。

成员属性

名称 类型 值 只读 描述
audioLossRate number 否
音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
receivedKBitrate number 否
接收码率。统计周期内的音频接收码率,单位为 kbps 。
stallCount number 否
统计周期内的卡顿次数
stallDuration number 否
统计周期内的卡顿时长,单位为 ms 。
e2eDelay number 否
用户体验级别的端到端延时,单位:ms。媒体信息从发送端采集完成并开始编码到接收端解码完成并渲染开始的耗时
playoutSampleRate number 否
统计周期内的音频播放采样率信息,单位为 Hz 。
statsInterval number 否
统计间隔。此次统计周期的间隔,单位为 ms 。
rtt number 否
往返时延,单位:ms
jitterBufferDelay number 否
抖动延迟,单位:ms
numChannels number 否
声道数
receivedSampleRate number 否
接收侧采样率
frozenRate number 否
视频冻结率
concealedSamples number 否
音频丢包补偿(PLC) 样点总个数
concealmentEvent number 否
音频丢包补偿(PLC) 累计次数
decSampleRate number 否
音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。
decDuration number 否
解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。

RemoteVideoStats


远端视频流统计信息,统计周期为 2s 。
本地用户订阅视频流成功后,SDK 会周期性地通知远端的视频流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。

成员属性

名称 类型 值 只读 描述
width number 否
宽度,单位:px
height number 否
高度,单位:px
videoLossRate number 否
视频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
receivedKBitrate number 否
接收码率。统计周期内的音频接收码率,单位为 kbps 。
decoderOutputFrameRate number 否
解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
rendererOutputFrameRate number 否
渲染帧率。统计周期内的视频渲染帧率,单位 fps 。
stallCount number 否
统计周期内的卡顿次数
stallDuration number 否
统计周期内的卡顿时长,单位为 ms 。
e2eDelay number 否
用户体验级别的端到端延时,单位:ms。媒体信息从发送端采集完成并开始编码到接收端解码完成并渲染开始的耗时
isScreen boolean 否
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
statsInterval number 否
统计间隔。此次统计周期的间隔,单位为 ms 。
rtt number 否
客户端到服务端数据传输的往返时延,单位:ms
frozenRate number 否
远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。
videoIndex number 否
视频分辨率序号。通过此参数指定希望订阅的流。在此之前,远端用户已经通过调用 setVideoEncoderConfig 方法,启动发布多路不同分辨率的视频流。编号 0 至 3代表流质量从高至低。

LocalStreamStats


本地媒体频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布媒体频流成功后,SDK 会周期性地通知本地用户发布的媒体流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

成员属性

名称 类型 值 只读 描述
audioStats LocalAudioStats 否
本地发送音频流的统计信息,详见 LocalAudioStats。
videoStats LocalVideoStats 否
本地发送视频流的统计信息,详见 LocalVideoStats。
isScreen boolean 否
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

LocalAudioStats


本地音频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布音频流成功后,SDK 会周期性地通知本地用户发布的音频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

成员属性

名称 类型 值 只读 描述
audioLossRate number 否
音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
sendKBitrate number 否
发送码率。统计周期内的音频接收码率,单位为 kbps 。
recordSampleRate number 否
采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。
statsInterval number 否
统计间隔。此次统计周期的间隔,单位为 ms 。
rtt number 否
客户端到服务端数据传输的往返时延,单位:ms
numChannels number 否
声道数
sentSampleRate number 否
音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。

LocalVideoStats


本地视频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布视频流成功后,SDK 会周期性地通知本地用户发布的视频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

成员属性

名称 类型 值 只读 描述
sentKBitrate number 否
发送码率,单位:kbps。统计周期内的视频发送码率
inputFrameRate number 否
采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。
sentFrameRate number 否
发送帧率。统计周期内的视频发送帧率,单位为 fps 。
encoderOutputFrameRate number 否
编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
rendererOutputFrameRate number 否
本地渲染帧率。统计周期内的本地视频渲染帧率,单位为 fps 。
targetKBitrate number 否
目标发送码率。此次统计周期内的视频目标发送码率,单位为 kbps 。
targetFrameRate number 否
目标发送帧率。此次统计周期内的目标发送帧率,单位为 fps 。
statsInterval number 否
统计间隔。此次统计周期的间隔,单位为 ms 。
videoLossRate number 否
视频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
rtt number 否
客户端到服务端数据传输的往返时延,单位:ms
encodedBitrate number 否
视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。
encodedFrameWidth number 否
视频编码宽度,单位为 px 。
encodedFrameHeight number 否
视频编码高度,单位为 px 。
encodedFrameCount number 否
统计周期内发送的视频帧总数
codecType string 否
视频的编码类型,具体参考 VideoCodecType
isScreen boolean 否
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

AudioVolumeInfo


声音音量信息。包含每个说话者的用户 id 和音量信息

成员属性

名称 类型 值 只读 描述
userId string 否
说话者的用户 id
volume number 否
说话者的音量,范围为 0(最低)- 255(最高)

onSEIMessageEvent


收到带有 SEI 消息的视频帧时,收到此回调

成员属性

名称 类型 值 只读 描述
remoteStreamKey RemoteStreamKey 否
包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey
sei Uint8Array 否
收到的 SEI 消息内容

RemoteStreamKey


远端流信息

成员属性

名称 类型 值 只读 描述
roomId string 否
房间 ID
userId string 否
用户 ID
streamIndex StreamIndex 否
流属性,包括主流、屏幕流。参看 StreamIndex

StreamIndex


流属性

成员属性

名称 类型 值 只读 描述
STREAM_INDEX_MAIN StreamIndex.STREAM_INDEX_MAIN 0 是
主流。包括:通过默认摄像头/麦克风采集到的视频/音频;
STREAM_INDEX_SCREEN StreamIndex.STREAM_INDEX_SCREEN 1 是
屏幕流。共享的视频流,或来自声卡的本地播放音频流。

SubscribeState


音视频流订阅结果

成员属性

名称 类型 值 只读 描述
SUBSCRIBE_SUCC SubscribeState.SUBSCRIBE_SUCC 0 是
更新订阅状态成功
SUBSCRIBE_FAIL SubscribeState.SUBSCRIBE_FAIL 1 是
更新订阅状态失败

PublishState


音视频流发布结果

成员属性

名称 类型 值 只读 描述
PUBLISH_SUCC PublishState.PUBLISH_SUCC 0 是
发布成功
PUBLISH_FAIL PublishState.PUBLISH_FAIL 1 是
发布失败

LiveTranscodingResultEvent


转推直播事件

成员属性

名称 类型 值 只读 描述
code number 否
转推直播事件编号
message string 否
转推直播事件详情

AudioMixingStateChangedEvent


音频混音文件播放状态改变事件

成员属性

名称 类型 值 只读 描述
mixId number 否
混音 ID
state any 否
混音状态
error any 否
混音错误

RoomConfig


房间参数配置

成员属性

名称 类型 值 只读 描述
isAutoPublish boolean 否
是否自动发布音频流,默认为自动发布。
isAutoSubscribeAudio boolean 否
是否自动订阅音频流,默认为自动订阅。

进房后,你可以调用 subscribeUserStream 修改订阅设置。
isAutoSubscribeVideo boolean 否
是否自动订阅视频流,默认为自动订阅。

进房后,你可以调用 subscribeUserStream 修改订阅设置。

SubscribeMediaType


订阅的媒体类型

成员属性

名称 类型 值 只读 描述
AUDIO_ONLY SubscribeMediaType.AUDIO_ONLY 0 是
只控制音频,不影响视频
VIDEO_ONLY SubscribeMediaType.VIDEO_ONLY 1 是
只控制视频,不影响音频
AUDIO_AND_VIDEO SubscribeMediaType.AUDIO_AND_VIDEO 2 是
视频和音频
NONE SubscribeMediaType.NONE 3 是
既不订阅音频,也不订阅视频

SubscribeVideoConfig


视频订阅配置信息

成员属性

名称 类型 值 只读 描述
videoIndex number 否
订阅的视频流分辨率下标。

当远端用户通过调用 setVideoEncoderConfig 方法启动发布多路不同分辨率的视频流时,本地用户需通过此参数指定希望订阅的流。

默认值为 0,即订阅第一路流。

如果不想更改之前的设置,可以输入 -1。

ScreenConfig


屏幕共享流设置

成员属性

名称 类型 值 只读 描述
enableAudio boolean 否
当用户为 Windows 端并使用 Chrome 浏览器时,设置为 true 可以捕获系统声音

VideoPlayerOption


播放器信息和渲染模式

成员属性

名称 类型 值 只读 描述
renderDom string \| HTMLElement 否
DOM
renderMode VideoRenderMode 否
渲染模式:可选 RENDER_MODE_HIDDEN, RENDER_MODE_FIT 和 RENDER_MODE_ADAPTIVE。
userId string 否
用户 ID,支持以下字符集范围

+ 26 个大写字母 A ~ Z
+ 26 个小写字母 a ~ z
+ 10 个数字 0 ~ 9
+ 下划线 "_",at 符 "@",减 号 "-"

VideoRenderMode


渲染模式

成员属性

名称 类型 值 只读 描述
RENDER_MODE_HIDDEN VideoRenderMode.RENDER_MODE_HIDDEN 0 是
视窗填满优先。

视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。
RENDER_MODE_FIT VideoRenderMode.RENDER_MODE_FIT 1 是
视频帧内容全部显示优先。

视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。

MirrorType


镜像类型

成员属性

名称 类型 值 只读 描述
MIRROR_TYPE_NONE MirrorType.MIRROR_TYPE_NONE 0 是
本地渲染和编码传输时均无镜像效果
MIRROR_TYPE_RENDER MirrorType.MIRROR_TYPE_RENDER 1 是
本地渲染时有镜像效果,编码传输时无镜像效果

PauseResumeControlMediaType


媒体流类型

成员属性

名称 类型 值 只读 描述
RTC_PAUSE_RESUME_CONTROL_AUDIO PauseResumeControlMediaType.RTC_PAUSE_RESUME_CONTROL_AUDIO 0 是
音频
RTC_PAUSE_RESUME_CONTROL_VIDEO PauseResumeControlMediaType.RTC_PAUSE_RESUME_CONTROL_VIDEO 1 是
视频
RTC_PAUSE_RESUME_CONTROL_AUDIO_AND_VIDEO PauseResumeControlMediaType.RTC_PAUSE_RESUME_CONTROL_AUDIO_AND_VIDEO 2 是
音频和视频

VideoEncoderConfig


视频编码配置

成员属性

名称 类型 值 只读 描述
maxKbps number 否
最大码率,单位 kbps

LiveTranscodeConfig


转码推流配置参数

成员属性

名称 类型 值 只读 描述
url string 否
推流 CDN 地址
audio LiveTranscodeAudioConfig 否
音频参数,详见 LiveTranscodeAudioConfig
video LiveTranscodeVideoConfig 否
视频参数,详见 LiveTranscodeVideoConfig
layout LiveTranscodeLayoutConfig 否
用户布局信息,详见 LiveTranscodeLayoutConfig

LiveTranscodeAudioConfig


音频转码配置参数

成员属性

名称 类型 值 只读 描述
codec string 否
kBitRate number 否
音频码率。单位为 kbps。可选取值:16, 32, 64
sampleRate number 否
音频采样率。单位为 kHz。可选取值:16, 32, 44.1, 48
channels number 否
音频声道数,可取 1 或 2。
AACProfile "LC" \| "HEv1" \| "HEv2" 否
AAC 编码类型

LiveTranscodeVideoConfig


视频转码配置参数。

成员属性

名称 类型 值 只读 描述
width number 否
宽
height number 否
高
codec string 否
编码格式
fps number 否
合流视频帧率信息
gop number 否
视频 I 帧间隔
lowLatency boolean 否
是否使用低延时特性
kBitRate number 否
合流视频码率,单位为 kbps

LiveTranscodeLayoutConfig


视频流合流整体布局信息
开启转推直播功能后,你可以设置参与合流的每路视频流的预设布局信息和合流背景信息等。

成员属性

名称 类型 值 只读 描述
regions LiveTranscodeLayoutRegion[] 否
用户布局信息列表
appData string 否
透传的 App 数据
backgroundColor string 否
画布的背景颜色

LiveTranscodeLayoutRegion


单个视频流在合流中的布局信息

成员属性

名称 类型 值 只读 描述
alpha number 否
透明度。可选范围为 [0.0, 1.0]。
userId string 否
视频流发布用户的用户 ID
x number 否
视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
y number 否
视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
zorder number 否
用户视频布局在画布中的层级。取值范围为[0 - 100]。0为底层,值越大越上层。
w number 否
视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
h number 否
视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
renderMode number 否
视频显示模式,默认可设置为1。可选取值如下:
• 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
• 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
• 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。
contentControl number 否
合流内容控制。默认值为0,可选取值如下:
• 0: 输出的混流包含音视频
• 1: 只包含音频
• 2: 只包含视频
isScreenStream boolean 否
是否是屏幕流
isLocalUser boolean 否
是否本地用户

VideoSourceType


视频采集方式

成员属性

名称 类型 值 只读 描述
VIDEO_SOURCE_TYPE_EXTERNAL VideoSourceType.VIDEO_SOURCE_TYPE_EXTERNAL 0 是
自定义采集
VIDEO_SOURCE_TYPE_INTERNAL VideoSourceType.VIDEO_SOURCE_TYPE_INTERNAL 1 是
内部采集,使用由 SDK 提供的视频采集模块(默认)

AudioSourceType


音频采集方式

成员属性

名称 类型 值 只读 描述
AUDIO_SOURCE_TYPE_EXTERNAL AudioSourceType.AUDIO_SOURCE_TYPE_EXTERNAL 0 是
自定义采集模块
AUDIO_SOURCE_TYPE_INTERNAL AudioSourceType.AUDIO_SOURCE_TYPE_INTERNAL 1 是
内部采集,使用由 SDK 提供的音频采集模块

USER_ONLINE_STATUS

成员属性

名称 类型 值 只读 描述
OFFLINE USER_ONLINE_STATUS.OFFLINE 0 是
ONLINE USER_ONLINE_STATUS.ONLINE 1 是
UNREACHABLE USER_ONLINE_STATUS.UNREACHABLE 2 是